Публикации с тэгом "Information hiding"
СТАТЬЯ Silverlight: Mvvm, INotifyPropertyChanged и свойства
За последнее время я увидел много постов, расказывающих о том как упростить процес создания свойств которые вызывают событие PropertyChanged. Это и codesnippet'ы и атрибуты для генерации кода... Решил написать о своем варианте который не использует ни то ни другое (намного проще). И так, стандартный код свойства в MVVM: private string _name; public string Name { get { return _name; } set { if ( _name != value) { _name = value; RaisePropertyChanged("Name"); } } } А теперь если представить что так...
СТАТЬЯ Убираем таблицы с главной в приложениях ASP.NET Dynamic Data
Иногда возникает ситуация, когда в ASP.NET Dynamic Data приложении на главной странице необходимо отображать не все таблицы. Как это сделать, рассмотрим ниже. Сначала создадим атрибут HideTableInDefaultAttributte: [AttributeUsage(AttributeTargets.Class)] public class HideTableInDefaultAttribute : Attribute { public Boolean Hide { get; private set; } public HideTableInDefaultAttribute(Boolean hide) { Hide = hide; } // this will allow us to have a default set to false public static HideTableInDefa...
СТАТЬЯ Apple будет блокировать MonoTouch?
Согласно нового соглашения iPhone Developer Program License Agreement (которое необходимо будет принять перед скачиванием четвертой версии iPhone SDK), писать приложения можно только на "родных" языках: 3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C...
СТАТЬЯ C# 4.0: ресурсы, статьи, видео, книги
Список ресурсов по C# 4.0. Примеры кода и документация New features of C# 4.0 (Beta 2) Download C# 4.0 Beta 2 samples and documents Видео What's New in C# 4.0 C# 4.0 Video Series C# 4.0 Dynamic with Chris Burrows and Sam Ng How to Use Named and Optional Arguments in Office Programming (C#) Dynamic C# and a New World of Possibilities Книги C# 4.0 in a Nutshell: The Definitive Reference В данный момент читаю эту книгу (издательство O'Reilly предоставила нам эту книгу бесплатно - скоро напишу на не...
СТАТЬЯ Интересно о C#: простые присвоения не всегда простые
Пусть у нас есть следующий код: a = b = c; Данный код является корректным и, в основном, используется в конструкциях типа: int i, j, k;i = j = k = 123; Говорят, что данный код работает, потому что присвоение является правосторонним, а результатом присвоения будет значение правого элемента, т.е. следующий код будет эквивалентным предыдущему: i = (j = (k = 123))); Это значит, что нет никакого смысла ставить скобки. Но, в данном конкретном примере это работает, но в целом нет - результатом присвоен...
СТАТЬЯ Использование символа подчеркивания в именах переменных классов
На одной из наших встреч мы говорили о качестве кода и о том, можно ли использовать "_" в именах переменных классов. Мне казалось, что символ подчеркивания нельзя (не желательно) использовать, оппонент говорил, что можно. Давайте разберемся. Раздел "Naming" из .NET Coding Guidelines говорит, что не нужно использовать "_" в именах переменных (а для различения локальных переменных и переменных классов использовать this в C# и Me в VB.NET). Do not use a prefix for member variables (_, m_, s_, etc.)...
СТАТЬЯ C#: вопросы с собеседования. Часть 2
What is difference between overloading and overriding? overloading — механизм вызова одноимённых методов с различными типами параметрами, при котором конкретный метод выбирается на этапе компиляции. overriding — переопределение виртуальных функций Class inherits from two interfaces containing methods with the same signature. Is it possible to provide different implementations for these methods? Да, придется явно(explicit) имплементировать интерфес для этих методов What can be a root reference? C...
СТАТЬЯ C#: вопросы с собеседования. Часть 1
Name ten c# keywords Зарезервированные слова – это слова, которые имеют некоторое значения для компилятора, по этой причине их нельзя использовать в качестве имен переменных, методов, классов и т.д.Список зарезервированных слов: abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly...
СТАТЬЯ Windows Mobile: изменяем свойства элементов управления из другого потока
Windows Mobile приложение, задача - обновить свойство элемента управления из другого потока. Итак, создаем новую форму и в событии Form_Load запускаем новый поток, который должен обновить кнопку button1: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(Start)); t.Start(); } private void UpdateText() { button1.Text = "New Text"; } void Start() { UpdateText(); } } Как ...
СТАТЬЯ Fuzzy c-means clustering algorithm v.0.3 for Multidimensional Data
Overview The new version is adapted to the multidimensional data clustering. It means that objects can have more than two characteristics. Lets look how existing code was changed to apply for the multidimensional data clustering. ClusterCentroid class was exluded This class was an exact copy of the ClusterPoint class so I exluded it from the solution to make code more clear. CusterPoint class changes The Coords property was added for storing any number of object properties: public Li...